Software testing and Quality Assurance (QA) is a cumbersome process during any Software Development Life Cycle (SDLC). Software testing and QA are dependent on testing schedule. Efficient software testing schedules save considerable time and cost for organizations developing new software's and applications. Further, efficient software testing schedules and QA ensures stability of deployed applications.
Conventionally, various systems and methods exist for predicting software testing schedule and stability of applications. For example, software test management tools exist that facilitate scheduling test execution. However, most of these software test management tools provide metrics only on test executions and defects. The above mentioned software test management tools do not take into consideration SDLC factors like delayed code drop, application downtime, environment downtime, scope changes and retesting due to defects that impact test execution at all or consider some of them in isolation. Usually, impact of the above-mentioned factors is assumed while planning test execution by the test leads/test managers. Manually assuming the impact of these factors on software testing schedule is cumbersome. Further, these factors are dynamic therefore monitoring and tracking these factors manually and accurately predicting their impact on software testing schedule on a day to day basis is even more cumbersome and often impossible. This results in inefficient testing schedule thereby causing delay, higher costs and inadequate testing. Also, applications deployed after inadequate testing are not stable and prone to post production defects.
In light of the above mentioned disadvantages, there is a need for a system and method for efficiently predicting testing schedule and stability of applications. Further, there is a need for a system and method for predicting software testing schedule by monitoring and tracking one or more SDLC factors during various stages of testing. Furthermore, there is a need for a system and method capable of simulating different scenarios to determine impact on software testing schedule, cost, resources, stability and risk. In addition, there is a need for a system and method for calculating overall stability and risk of an application and stability/risk of one or more features of the application during various stages of testing.